// 自定义hook 使用规则

import { useState } from "react"

function useToggle () {
  // 可复用的逻辑代码

  const [ val, setVal ] = useState(true)

  const toggle = () => setVal(!val)

  //哪些状态和回调函数需要再其他组件中使用 return
  return {
    val,
    toggle
  }
}

// 错误使用
// 1. 组件外使用
// 2. if,for 组件内部函数



function App() {


  const {val, toggle} = useToggle()
  return (
    <div>
      {val && <div>this is div</div>}
      <button onClick={toggle}>toggle</button>
    </div>
  )
}   

export default App
